package ma.model;

import ma.view.gui.ObserverInterface;

/**
 * Interface for all Observable classes.
 * @author Vasilios Filippidis
 */
public interface Observable {
    
    /**
     * Registers an observer.
     * @param o the observer to be registered.
     */
    public void registerObserver (ObserverInterface o);
    
    /**
     * Deletes an observer from the list. 
     * @param o the observer to be deleted.
     */
    public void removeObserver (ObserverInterface o);
    
    /**         
     * Notifies all registered observers.
     */
    public void notifyObservers();    
                
}
